#ifndef PLAYLISTVISUALLIST_H
#define PLAYLISTVISUALLIST_H

#include <QListWidget>
#include<QDragEnterEvent>
#include<QDragMoveEvent>
#include<QDragLeaveEvent>
#include<QDropEvent>
#include<QMimeData>

struct SongData;

class PlaylistVisualList : public QListWidget
{
	Q_OBJECT
public:
	explicit PlaylistVisualList(QWidget *parent = 0);
	void dragEnterEvent(QDragEnterEvent *event);
	void dragMoveEvent(QDragMoveEvent *event);
	void dragLeaveEvent(QDragLeaveEvent *event);
	void dropEvent(QDropEvent *event);
signals:
	void play(int);
	void addSongs(QList<QUrl>, int);
public slots:
	void insert(int location, SongData *data);
private slots:
	void doubleClicked(QListWidgetItem *item);
};

#endif // PLAYLISTVISUALLIST_H
